<?php include "../public/header.php";?>
<?php include "../public/header_edit.php";?>
<body id="optPage">
<form class="layui-form layui-form-pane" id="commentForm">
    <div class="page-title"><div class="page-title-con"><span id="flowsetname"></span><div class="move_title"></div><?php include "../public/subturn.php";?></div></div>
    <div class="main-container">
        <div class="block-generic">
            <?php include "../public/substt.php";?>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="edittits"><span>项目信息</span></div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md12">
                        <label class="layui-form-label"><text>*</text>项目名称</label>
                        <div class="layui-input-block">
                            <input type="text" readonly name="enginid" class="layui-input enginid" onclick="openPage('../public/choose_engin.php?dom=enginid&page=piao_shou','80%','80%')">
                            <div class="choose_div" id="enginid" key="1"></div>
                            <span class="choose_one" onclick="openPage('../public/choose_engin.php?dom=enginid&page=piao_shou','80%','80%')"><i class="layui-icon layui-icon-search"></i></span>
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="edittits"><span>收票信息</span></div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md12">
                        <label class="layui-form-label"><text>*</text>收票主题</label>
                        <div class="layui-input-block">
                            <input type="text" name="title" id="title" placeholder="请输入" clearable autocomplete="off" class="layui-input">
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md6">
                        <label class="layui-form-label">收票登记单号</label>
                        <div class="layui-input-block">
                            <input type="text" id="number" readonly placeholder="请输入" clearable autocomplete="off" class="layui-input disabled">
                        </div>
                    </div>
                    <div class="layui-col-md6">
                        <label class="layui-form-label">受票单位</label>
                        <div class="layui-input-block">
                            <input type="text" id="shouer" name="shouer" readonly placeholder="请输入" clearable autocomplete="off" class="layui-input disabled">
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md6">
                        <label class="layui-form-label">收票金额(元)</label>
                        <div class="layui-input-block">
                            <input type="text" name="money" id="money" placeholder="请输入" disabled autocomplete="off" class="layui-input moneyinput disabled">
                        </div>
                    </div>
                    <div class="layui-col-md6">
                        <label class="layui-form-label">收票税额(元)</label>
                        <div class="layui-input-block">
                            <input type="text" name="ratefee" id="ratefee" placeholder="请输入" disabled autocomplete="off" class="layui-input moneyinput disabled">
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md6">
                        <label class="layui-form-label">不含税金额(元)</label>
                        <div class="layui-input-block">
                            <input type="text" name="nofee" id="nofee" placeholder="请输入" disabled autocomplete="off" class="layui-input moneyinput disabled">
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-form-item">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md6">
                        <label class="layui-form-label">收票日期</label>
                        <div class="layui-input-block">
                            <input type="text" name="dt" id="dt" placeholder="请选择" clearable  autocomplete="off" class="layui-input bdate_ymd">
                        </div>
                    </div>
                    <div class="layui-col-md6">
                        <label class="layui-form-label">经手人</label>
                        <div class="layui-input-block">
                            <input type="text" name="baner" id="baner" placeholder="请输入" clearable  autocomplete="off" class="layui-input">
                        </div>
                    </div>
                </div>
            </div>
            <div class="layui-form-item height_auto">
                <div class="layui-row layui-col-space10">
                    <div class="layui-col-md12">
                        <label class="layui-form-label label_textarea">备注</label>
                        <div class="layui-input-block">
                            <textarea id="explain" name="explain" placeholder="请输入" class="layui-textarea"></textarea>
                        </div>
                    </div>
                </div>
            </div>

            <div class="layui-form-item height_auto">
                    <div class="short_table_list" key="1">
                        <div class="opt-btn-group">
                            <div><span>收票明细</span></div>
                            <div>
                                <input type="file" id="uploadtrip" value="" accept="image/*,application/pdf" style="display: none"/>
<!--                                <button type="button" onclick="trip_piao_data()" class="layui-btn layui-btn-sm layui-btn-primary mingxibtn">发票识别</button>-->
                                <button type="button" onclick="ctrlv_data_open()" class="layui-btn layui-btn-sm layui-btn-primary mingxibtn">粘贴新增</button>
                                <button type="button" class="layui-btn layui-btn-sm layui-btn-primary mingxibtn short_table_copy_row">复制行</button>
                                <button type="button" class="layui-btn layui-btn-sm layui-btn-primary mingxibtn short_table_add_row">插入行</button>
                                <button type="button" class="layui-btn layui-btn-sm layui-btn-primary mingxibtn short_table_del_row">删除行</button>
                                <button type="button" class="layui-btn layui-btn-sm layui-btn-primary mingxibtn short_table_del_all">删除全部</button>
                            </div>
                        </div>
                        <table class="layui-table" lay-size="sm">
                            <thead>
                            <tr>
                                <th width="45">序号</th>
                                <th>支出合同名称</th>
                                <th><text>*</text>开票单位</th>
                                <th>开票日期</th>
                                <th><text>*</text>发票号码</th>
                                <th><text>*</text>发票类型</th>
                                <th><text>*</text>不含税金额(元)</th>
                                <th><text>*</text>税率(%)</th>
                                <th><text>*</text>税额(元)</th>
                                <th><text>*</text>价税合计(元)</th>
                                <th><text>*</text>费用类别</th>
                                <th>备注</th>
                            </tr>
                            </thead>
                            <tbody class="short_table_tbody" id="list_list" style="position: relative"></tbody>
                        </table>
                        <div class="listerror">提示：<span></span></div>
                    </div>
                </div>

            <?php include '../public/flowqita.php'?>
            <?php include '../public/upinfo.php'?>
        </div>
    </div>
</form>
<script>
    $("#commentForm").validate({
        rules: {
            title: {required: true},
        },
        messages:{
            title: {required: "请输入"},
        }
    });

    function choose_contract_cai_one(obj){
        var domkey = $(obj).parents('tr').index();
        var enginid = get_choose_val('enginid');
        if(!enginid){
            facade.error("请先选择项目名称");return false;
        }
        openPage('../public/choose_contract_cai.php?page=piao_shou&enginid='+enginid+'&domkey='+domkey,'80%','80%');
    }

    function choose_dealcom_one(obj){
        var domkey = $(obj).parents('tr').index();
        openPage('../public/choose_dealcom.php?page=piao_shou&domkey='+domkey,'80%','80%');
    }

    var pub_piaotype, pub_yongtype;
    layui.use(['laytp', 'form'], function() {
        var form = layui.form, layer = layui.layer;
        render_input_attr();

        facade.ajax({type: 'get', url: ask_flowdata_add_piao_shou}).done(function(res){
            if (res.code === 2000) {
                var data = res.data;
                chu_flow_qian(data);
                $("#number").val(data.number);
                $("#dt").val(data.dt);
                $("#baner").val(data.baner);


                pub_piaotype = res.data.piaotype
                var piaotype = res.data.piaotype

                pub_yongtype = res.data.yongtype
                var yongtype = res.data.yongtype

                var listAddStr = '';
                listAddStr += '<tr>';
                listAddStr += '<td style="width: 45px">1</td>';
                listAddStr += '<td><input type="text" caiid="0" onclick="choose_contract_cai_one(this)" readonly class="layui-input caiid disabled"></td>';
                listAddStr += '<td><input type="text" onclick="choose_dealcom_one(this)" readonly class="layui-input gonger disabled"></td>';
                listAddStr += '<td><input type="text" class="layui-input dt bdate_ymd"></td>';
                listAddStr += '<td><input type="text" class="layui-input nums"></td>';
                listAddStr += '<td><select class="piaotype">';
                for (var key in piaotype){
                    listAddStr += '<option value="'+key+'">'+piaotype[key]+'</option>';
                }
                listAddStr += '</select></td>';
                listAddStr += '<td><input type="number" class="layui-input fee"></td>';
                listAddStr += '<td><input type="number" class="layui-input rate"></td>';
                listAddStr += '<td><input type="number" class="layui-input ratefee"></td>';
                listAddStr += '<td><input type="number" class="layui-input money"></td>';
                listAddStr += '<td><select class="yongtype">';
                for (var key in yongtype){
                    listAddStr += '<option value="'+key+'">'+yongtype[key]+'</option>';
                }
                listAddStr += '</select></td>';
                listAddStr += '<td><input type="text" class="layui-input explain"></td>';
                listAddStr += '</tr>';
                short_table_opt_func(listAddStr,1);

                public_upload_file_load('upload_files', res.data.files);
                render_from();
                initParseMoney();
            }
        });


        form.on('submit(add)', function(data){
            data.field.isturn = $(this).attr('key') || 0;
            data.field.flowrelas = get_choose_val('flowrelas');
            data.field.advaners = tan_tags_getvalue("#advaners", 'user');
            data.field.nexter = tan_tags_getvalue("#nexter", 'user');


            data.field.enginid = get_choose_val('enginid');
            if(data.field.isturn > 0){
                var validRes = $("#commentForm").valid();
                formValid('enginid');
                if(data.field.enginid == undefined || !data.field.enginid){
                    validRes = false;
                }
                if(!validRes){return false;}
            }

            var list = [''];
            try {
                $('#list_list tr').each(function (i) {
                    var caiid = $(this).find('.caiid').attr('caiid') || 0;
                    var gonger = $(this).find('.gonger').val();
                    var dt = $(this).find('.dt').val();
                    var nums = $(this).find('.nums').val();
                    var piaotype = $(this).find('.piaotype').val();
                    var fee = $(this).find('.fee').val();
                    var rate = $(this).find('.rate').val();
                    var ratefee = $(this).find('.ratefee').val();
                    var money = $(this).find('.money').val();
                    var yongtype = $(this).find('.yongtype').val();
                    var explain = $(this).find('.explain').val();

                    var index = i + 1;
                    if(data.field.isturn > 0){
                        if(!gonger){
                            throw new Error('第'+index+'行，请选择开票单位');
                        }
                        if(!nums){
                            throw new Error('第'+index+'行，请输入发票号码');
                        }
                        if(!piaotype){
                            throw new Error('第'+index+'行，请选择发票类型');
                        }
                        if(fee == ''){
                            throw new Error('第'+index+'行，请输入不含税金额');
                        }
                        if(rate == ''){
                            throw new Error('第'+index+'行，请输入税率');
                        }
                        if(ratefee == ''){
                            throw new Error('第'+index+'行，请输入税额');
                        }
                        if(money == ''){
                            throw new Error('第'+index+'行，请输入价税合计');
                        }
                        if(!yongtype){
                            throw new Error('第'+index+'行，请选择费用类别');
                        }

                        var chongKey = check_chongfu(i, nums);
                        if(chongKey){
                            throw new Error('第'+chongKey+'行'+'与第'+index+'行，发票号码重复');
                        }
                    }

                    list.push({
                        caiid:caiid,
                        gonger:gonger,
                        dt:dt,
                        nums:nums,
                        piaotype:piaotype,
                        fee:fee,
                        rate:rate,
                        ratefee:ratefee,
                        money:money,
                        yongtype:yongtype,
                        explain:explain,
                    });
                });
            } catch(e) {
                $(".listerror").find('span').text(e.message);
                $(".listerror").show();
                return false;
            }
            $(".listerror").hide();
            data.field.list = list;

            data.field.files = public_upload_file_value('upload_files');
            data = parseMoney(data);
            public_flow_submit(data.field, ask_flowdata_add_piao_shou, ask_flowdata_edit_piao_shou, $(this).attr('but'));
            return false;
        });

    });

    //检测重复
    function check_chongfu(index, nums){
        try {
            $('#list_list tr').each(function (i) {
                var cur_nums = $(this).find('.nums').val();
                if(index != i){
                    if(nums == cur_nums){
                        throw new Error(i+1);
                    }
                }
            });
        } catch(e) {
            return e.message;
        }

        return 0;
    }

    $('#list_list').on('input propertychange','.fee, .ratefee, .money',function () {
        jisuan_money_all();
    });

    function jisuan_money_all() {
        var allnofee = 0;
        var allratefee = 0;
        var allmoney = 0;

        $('#list_list tr').each(function (i) {
            var fee = parseValidNum($(this).find('.fee').val());
            allnofee = parseFloat(allnofee) + parseFloat(fee);

            var ratefee = parseValidNum($(this).find('.ratefee').val());
            allratefee = parseFloat(allratefee) + parseFloat(ratefee);

            var money = parseValidNum($(this).find('.money').val());
            allmoney = parseFloat(allmoney) + parseFloat(money);
        });


        $("#nofee").val(parseFormatNum(allnofee,2));
        $("#ratefee").val(parseFormatNum(allratefee,2));
        $("#money").val(parseFormatNum(allmoney,2));
    }


    function update_refresh_row_func() {
        render_date();
        render_from();
        jisuan_money_all();
        $.each($("#list_list").children('tr'),function (key,val) {
            $(this).children('td:first-child').html(key+1);
        });
        setTimeout(function () {
            $(".short_table_list table tbody tr").click(function () {
                $(".short_table_list table tbody tr").removeClass('line-row');
                $(".short_table_list table tbody tr").attr('sle','');
                $(this).addClass('line-row');
                $(this).attr('sle','sle');
            });
        },1000);
    }


    var ctrlv_field_name = [
        {field: 'dt', name:'开票日期',type:'date'},
        {field: 'nums', name:'发票号码'},
        {field: 'piaotype', name:'发票类型'},
        {field: 'fee', name:'不含税金额(元)',type:'number'},
        {field: 'rate', name:'税率(%)',type:'number'},
        {field: 'ratefee', name:'税额(元)',type:'number'},
        {field: 'money', name:'价税合计(元)',type:'number'},
        {field: 'yongtype', name:'费用类别'},
        {field: 'explain', name:'备注'},

    ];
    function ctrlv_data_show(list) {
        if(list.length > 0){
            var nums = $("#list_list tr").length;
            for (var key in list){
                var str = '';
                nums++;
                str += '<tr>';
                str += '<td style="width: 45px">'+nums+'</td>';
                str += '<td>';
                str += '<input type="text" caiid="'+list[key].caiid+'" value="" onclick="choose_contract_cai_one(this)" readonly class="layui-input caiid disabled">';
                str += '</td>';
                str += '<td>';
                str += '<input type="text" value="" onclick="choose_dealcom_one(this)" readonly class="layui-input gonger disabled">';
                str += '</td>';
                str += '<td><input type="text" class="layui-input dt bdate_ymd" value="'+list[key].dt+'" ></td>';
                str += '<td><input type="text" class="layui-input nums" value="'+list[key].nums+'"></td>';

                str += ctrlvGetXiaLaStrZuo(pub_piaotype, 'piaotype', list[key].piaotype)

                str += '<td><input type="number" class="layui-input fee" value="'+list[key].fee+'"></td>';
                str += '<td><input type="number" class="layui-input rate" value="'+list[key].rate+'"></td>';
                str += '<td><input type="number" class="layui-input ratefee" value="'+list[key].ratefee+'"></td>';
                str += '<td><input type="number" class="layui-input money" value="'+list[key].money+'"></td>';

                str += ctrlvGetXiaLaStrZuo(pub_yongtype, 'yongtype', list[key].yongtype)

                str += '<td><input type="text" class="layui-input explain" value="'+list[key].explain+'"></td>';
                str += '</tr>';
                $("#list_list").append(str);
            }
        }
        update_refresh_row_func()
        render_date();
        render_from();
    }






    function trip_piao_data() {
        $("#uploadtrip").val();
        $("#uploadtrip").click();
    }

    $("#uploadtrip").change(function () {
        var loading = layui.layer.load(0, {shade: 0.1});
        let fd = new FormData();
        fd.append('file', this.files[0]);
        fd.append('token', facade.getCookie('token'));
        $.ajax({
            url: server_api_name+ask_upload_piaoshou_file,
            type: "POST",
            data: fd,
            contentType: false,
            processData: false,
            dataType: "json",
            success: function (res) {
                $("#uploadtrip").val();
                layui.layer.close(loading);
                if (res.code === 2000) {
                    var fileinfo = res.data.fileinfo;
                    var piaoinfo = res.data.piaoinfo;


                    //处理发票明细信息
                    var str = '';
                    var hang_num = $("#list_list tr").length;
                    str += '<tr>';
                    str += '<td style="width: 45px">'+(parseInt(hang_num)+1)+'</td>';
                    str += '<td>';
                    str += '<input type="text" caiid="0" value="" onclick="choose_contract_cai_one(this)" readonly class="layui-input caiid disabled">';
                    str += '</td>';
                    str += '<td>';
                    str += '<input type="text" value="'+piaoinfo.gonger+'" onclick="choose_dealcom_one(this)" readonly class="layui-input gonger disabled">';
                    str += '</td>';
                    str += '<td><input type="text" class="layui-input dt bdate_ymd" value="'+piaoinfo.dt+'" ></td>';
                    str += '<td><input type="text" class="layui-input nums" value="'+piaoinfo.nums+'"></td>';
                    str += '<td><select class="piaotype">';
                    for (var mm in pub_piaotype){
                        if(piaoinfo.piaotype == mm){
                            str += '<option value="'+mm+'" selected>'+pub_piaotype[mm]+'</option>';
                        }else{
                            str += '<option value="'+mm+'">'+pub_piaotype[mm]+'</option>';
                        }
                    }
                    str += '</select></td>';
                    str += '<td><input type="number" class="layui-input fee" value="'+piaoinfo.fee+'"></td>';
                    str += '<td><input type="number" class="layui-input rate" value="'+piaoinfo.rate+'"></td>';
                    str += '<td><input type="number" class="layui-input ratefee" value="'+piaoinfo.ratefee+'"></td>';
                    str += '<td><input type="number" class="layui-input money" value="'+piaoinfo.money+'"></td>';
                    str += '<td><input type="text" class="layui-input explain" value="'+piaoinfo.explain+'"></td>';
                    str += '</tr>';
                    $("#list_list").append(str);


                    //处理附件信息
                    var filename = fileinfo.name;
                    var filepath = fileinfo.encpath;
                    var fileurl = get_file_complete(filepath);
                    var id = fileinfo.id;
                    var filesize = fileinfo.size;
                    var fileext = fileinfo.ext;
                    var created_user = fileinfo.created_user;
                    var created_at = fileinfo.created_at;

                    var imgstr = '';
                    imgstr += '<div class="filebb" id='+id+'>';
                    imgstr += '<div class="tu">';
                    if(fileext == 'png' || fileext == 'pneg' || fileext == 'jpg' || fileext == 'jpeg' || fileext == 'gif'){
                        imgstr += '<img src="'+fileurl+'">';
                    }else{
                        imgstr += '<div class="zimu">'+fileext+'</div>';
                    }
                    imgstr += '</div>';
                    imgstr += '<div class="titss">'+filename+'</div>';
                    if(fileext == 'png' || fileext == 'pneg' || fileext == 'jpg' || fileext == 'jpeg' || fileext == 'gif'){
                        imgstr += '<i class="layui-icon layui-icon-search cha" onclick="upload_files_viewer_imgnew_show(\''+filepath+'\',\''+fileurl+'\')" title="查看"></i>';
                    }else if(fileext == 'pdf'){
                        imgstr += '<i class="layui-icon layui-icon-search cha" onclick="upload_files_viewer_pdf_show(\''+fileurl+'\')" title="查看"></i>';
                    }else if(fileext == 'doc' || fileext == 'docx' || fileext == 'xls' || fileext == 'xlsx' || fileext == 'ppt' || fileext == 'pptx'){
                        imgstr += '<i class="layui-icon layui-icon-search cha" onclick="upload_files_vieweroffice_show(\''+fileurl+'\')" title="查看"></i>';
                    }else{
                        imgstr += '<i class="layui-icon layui-icon-search cha" onclick="upload_files_show_yulan_not()" title="查看"></i>';
                    }

                    imgstr += '<i class="layui-icon layui-icon-delete del" onclick="upload_files_del_filenew(this)" title="删除"></i>';
                    imgstr += '</div>';


                    $('#fileboxss').append(imgstr);


                    render_from();
                }else{
                    facade.error(res.msg);
                }
            },
            error: function (res) {
                $("#uploadtrip").val();
                layui.layer.close(loading);
                facade.error("网络错误");
            },
        })
    });





</script>
</body>
</html>
